package com.dzl.voucherSecretGroup.service;

import com.dzl.base.service.BaseService;
import com.dzl.voucherSecret.pojo.dto.VoucherSecretGroupDto;
import com.dzl.voucherSecretGroup.pojo.WelfareVoucherSecretGroup;
import com.dzl.voucherSecretGroup.pojo.query.VoucherSecretGroupQuery;
import com.dzl.voucherSecretGroup.pojo.vo.VoucherSecretGroupSellVo;
import com.dzl.voucherSecretGroup.pojo.vo.VoucherSecretGroupVo;
import com.github.pagehelper.PageInfo;

import java.util.List;

/**
 * 劵密分组表(WelfareVoucherSecretGroup)表服务接口
 * @author caobucao
 * @date 2021-05-22 14:17:52
 */
public interface WelfareVoucherSecretGroupService extends BaseService<WelfareVoucherSecretGroup> {

    /**
     * 分页查询券密组
     * @date 2021/5/22 14:26
     * @author caobucao
     * @param query 查询条件
     * @return java.util.List<com.dzl.voucherSecretGroup.pojo.vo.VoucherSecretGroupVo>
     */
    PageInfo<VoucherSecretGroupVo> selectVoucherSecretGroupVoListPage(VoucherSecretGroupQuery query);

    /**
     * 保存券密组和券密
     * @date 2021/5/22 17:53
     * @author caobucao
     * @param dto 传输对象，包含券密组和券密信息
     * @return void
     */
    Integer insertVoucherSecretGroup(VoucherSecretGroupDto dto);

    /**
     * 删除券密组
     * @date 2021/5/22 18:40
     * @author caobucao
     * @param id   要删除的券密组id
     * @return java.lang.Integer
     */
    Integer deleteGroupById(Integer id, Integer updater);

    /**
     * 获取券密组信息
     * @author ChenLong
     * @date 2021-06-30 09:36:09
     * @param voucherGroupId 券密组id
     * @return java.util.List<com.dzl.voucherSecretGroup.pojo.vo.VoucherSecretGroupSellVo>
     **/
    VoucherSecretGroupSellVo getVoucherSecretGroupWithSellInfo(Integer voucherGroupId);

    /**
     * 更改券密组名称
     * @date 2021/7/29 15:36
     * @author caobucao
     * @param group 券密组对象
     * @return java.lang.Integer
     */
    Integer updateName(WelfareVoucherSecretGroup group);

}
